Dersin Adı | Algoritma Analizi |
Kodu | Yarıyıl | Teori (saat/hafta) | Uygulama/Lab (saat/hafta) | Yerel Kredi | AKTS |
---|---|---|---|---|---|
CE 390 | Güz/Bahar | 3 | 0 | 3 | 5 |
Ön-Koşul(lar) |
| ||||||||
Dersin Dili | İngilizce | ||||||||
Dersin Türü | Seçmeli | ||||||||
Dersin Düzeyi | Lisans | ||||||||
Dersin Veriliş Şekli | - | ||||||||
Dersin Öğretim Yöntem ve Teknikleri | Problem çözmeAnlatım / Sunum | ||||||||
Dersin Koordinatörü | |||||||||
Öğretim Eleman(lar)ı | |||||||||
Yardımcı(ları) | - |
Dersin Amacı | Dersin amacı gerçek hayat problemlerinden hareketle, farklı alanlarda kullanılabilecek algoritmaların sunulmasıdır. Öğrenciler, bu derste, hesaplama ve optimizasyon uygulamalarında karşılacakları farklı tasarım ve analiz teknikleri öğreneceklerdir. Açgözlü algoritmalar, bölveyönet tarzı algoritmalar ve dinamik programlama, farklı örnek uygulamalar üzerinden anlatılacaktır. Yakınlaşık algoritmalar da özellikle yük dengeleme ve küme kaplama problemlerine vurgu yapılarak açıklanacaktır. |
Öğrenme Çıktıları | Bu dersi başarıyla tamamlayabilen öğrenciler;
|
Ders Tanımı | Açgözlü algoritmalar, bölveyönet tarzı algoritmalar, dinamik programlama ve yakınlaşık algoritmalar. |
Dersin İlişkili Olduğu Sürdürülebilir Kalkınma Amaçları |
| Temel Ders | |
Uzmanlık/Alan Dersleri | X | |
Destek Dersleri | ||
İletişim ve Yönetim Becerileri Dersleri | ||
Aktarılabilir Beceri Dersleri |
Hafta | Konular | Ön Hazırlık |
1 | Tanıtım ve motivasyon. Matematik temeller, toplamalar, özyinelemeler, ve fonksiyonların artışı | Cormen Chapter 2, 3, and 4 |
2 | Asimtotik notasyon ve Master teoremi | Cormen Chapter 4 |
3 | İkili heapler ve heapsortun analizi | Cormen Chapter 6 |
4 | Sıralama teorisi ve diğer karşılaştırma tabanlı sıralama algorithmaları: Merge sort ve quicksortun analizi | Cormen Chapter 7 |
5 | Quicksort algorithmasının en kötü çalışma senaryosu analizi | Cormen Chapter 7 |
6 | Doğrusal zamanda sıralama, sıralama için altsınırlar, counting sort, radix sort bucket sort | Cormen Chapter 8 |
7 | Ortanca ve sıra istatistikleri. Ortanca değer ve sıranın doğrusal zamanda bulunması ve selection algorithması | Cormen Chapter 9 |
8 | Ara Sınav | |
9 | Temel veri yapıları ve ekleme, silme ve güncellemenin çalışma zamanı analizleri | Cormen Chapter 10 |
10 | Hash tabloları ve çalışma zamanı analizleri | Cormen Chapter 11 |
11 | İkili arama ağaçları ve redblack ağaçları | Cormen Chapter 12 and 13 |
12 | Btree ve veri yapılarına ilaveler yapmak | Cormen Chapter 18 |
13 | Ortalama çalışma zamanı analizi | Cormen Chapter 17 |
14 | Binomial heapler ve fibonazzi heapler | Cormen Chapter 19 and 20 |
15 | Dönemin gözden geçirilmesi | |
16 | Final Sınavı |
Ders Kitabı | Introduction to Algorithms, 2/eThomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, ISBN: 9780262533058, MIT PressData Structures and Algorithm Analysis in C++, Mark Allen Weiss, Addision Wesley, Third Edition. |
Önerilen Okumalar/Materyaller | Data Structures and Algorithm Analysis in C++, Mark Allen Weiss, Addision Wesley, Third Edition, 978-0132847377 Algorithm Design. Jon Kleinberg and Eva Tardos. 2006, Pearson Education, ISBN 0321372913 |
Yarıyıl Aktiviteleri | Sayı | Katkı Payı % |
Katılım | ||
Laboratuvar / Uygulama | ||
Arazi Çalışması | ||
Küçük Sınav / Stüdyo Kritiği | ||
Portfolyo | ||
Ödev | 1 | 30 |
Sunum / Jüri Önünde Sunum | ||
Proje | ||
Seminer/Çalıştay | ||
Sözlü Sınav | ||
Ara Sınav | 1 | 30 |
Final Sınavı | 1 | 40 |
Toplam |
Yarıyıl İçi Aktivitelerin Başarı Notuna Katkısı | 60 | |
Yarıyıl Sonu Aktivitelerin Başarı Notuna Katkısı | 40 | |
Toplam |
Yarıyıl Aktiviteleri | Sayı | Süre (Saat) | İş Yükü |
---|---|---|---|
Teorik Ders Saati (Sınav haftası dahildir: 16 x teorik ders saati) | 16 | 3 | 48 |
Laboratuvar / Uygulama Ders Saati (Sınav haftası dahildir. 16 x uygulama/lab ders saati) | 16 | ||
Sınıf Dışı Ders Çalışması | 15 | 4 | 60 |
Arazi Çalışması | |||
Küçük Sınav / Stüdyo Kritiği | |||
Portfolyo | |||
Ödev | 4 | 3 | |
Sunum / Jüri Önünde Sunum | |||
Proje | |||
Seminer/Çalıştay | |||
Sözlü Sınav | |||
Ara Sınavlar | 1 | 10 | |
Final Sınavı | 1 | 20 | |
Toplam | 150 |
# | Program Yeterlilikleri / Çıktıları | * Katkı Düzeyi | ||||
1 | 2 | 3 | 4 | 5 | ||
1 | Matematik, Fen Bilimleri ve Bilgisayar Mühendisliği konularında yeterli bilgi sahibidir; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanır. | X | ||||
2 | Karmaşık Bilgisayar Mühendisliği problemlerini saptar, tanımlar, formüle eder ve çözer; bu amaca uygun analiz ve modelleme yöntemlerini seçer ve uygular. | X | ||||
3 | Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlar; bu amaçla modern tasarım yöntemlerini uygular. | |||||
4 | Bilgisayar Mühendisliği uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirir, seçer ve kullanır; bilişim teknolojilerini etkin bir şekilde kullanır. | X | ||||
5 | Karmaşık Bilgisayar Mühendisliği problemlerinin veya araştırma konularının incelenmesi için deney tasarlar, deney yapar, veri toplar, sonuçları analiz eder ve yorumlar. | |||||
6 | Bilgisayar Mühendisliği disiplini içinde ve çok disiplinli takımlarda etkin biçimde çalışır; bireysel çalışma sergiler. | |||||
7 | Türkçe sözlü ve yazılı etkin iletişim kurar; etkin rapor yazar ve yazılı raporları anlar, tasarım ve üretim raporları hazırlar, etkin sunum yapar, açık ve anlaşılır talimat verir ve alır. | |||||
8 | Bilgisayar Mühendisliği uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi sahibidir; mühendislik çözümlerinin hukuksal sonuçlarının farkındadır. | |||||
9 | Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilincine sahiptir; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi sahibidir. | |||||
10 | Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi sahibidir; girişimcilik, yenilikçilik hakkında bilinçlidir; sürdürülebilir kalkınma hakkında bilgi sahibidir. | |||||
11 | Bir yabancı dili kullanarak Bilgisayar Mühendisliği ile ilişkili konularda, bilgi toplar ve meslektaşları ile iletişim kurar. ("European Language Portfolio Global Scale", Level B1) | |||||
12 | İkinci yabancı dili orta düzeyde kullanır. | |||||
13 | Yaşam boyu öğrenmenin gerekliliği bilincindedir; bilgiye erişir, bilim ve teknolojideki gelişmeleri izler ve kendini sürekli yeniler; insanlık tarihi boyunca oluşan bilgi birikimini Bilgisayar Mühendisliği alanıyla ilişkilendirir. |
*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest